
// 都是自动导入的，将下面的类型写对，规范好。可以直接导入
import type { CardListData, CardListParams, CardParams,CardDetail } from "@/types/card"
import { request } from "@/utils/reuqest"



/**
 * 查看月卡信息列表
 * @param params    请求参数类型
 * @returns         返回值类型
 */
export const getCardListAPI = (params: CardListParams) => {
  return request<CardListData>('/parking/card/list','GET',params)
}

/**
 * 删除月卡
 * @param ids 月卡id集合
 * @returns 
 */
export const delCardAPI = (ids: number[]) => {
  // 批量删除时，id用逗号隔开，通过 join 方法拼接字符串
  return request(`/parking/card/${ids.join(',')}`, 'DELETE')
}


/**
 * 新增月卡
 * @param data 新增月卡数据
 * @returns 
 */
export const createCardAPI = (param:Partial<CardParams>) => {
  return request('/parking/card', 'POST', param)
}     


/**
 * 获取编辑页月卡详情
 * @param id 月卡id
 * @param param 编辑月卡数据
 * @returns 
 */
// 返回值类型为 CardDetail 类型。类型是自己定义的。完成之后在页面中调用。有id才进行调用。进入编辑页面.
export const getCardDetailAPI = (id:string) => {
  return request<CardDetail>(`/parking/card/detail/${id}`)
}


/**
 * 编辑月卡
 * @param {*} data
 * @returns
 */
export const updateCardAPI = (data: Partial<CardDetail>) => {
  return request('/parking/card/edit', 'PUT', data)
}

/**
 * 删除月卡
 * @param ids 
 * @returns 
 */
export const cardShanchuAPI = (ids: number[]) => {
  // 批量删除时，id用逗号隔开，通过 join 方法拼接字符串
  return request(`/parking/card/${ids.join(',')}`, 'DELETE')
}

